export default {
  //开启命名空间
  namespaced: true,

  //模块的state数据
  state: () => ({
    //持久化存储后，要访问本地存储的数据
    address:JSON.parse(uni.getStorageSync('address') || '{}')
  }),
  
  //方法
  mutations:{
    //存储收货地址到vuex
    updateAddress (state,address) {
      state.address = address
      // 通过 this.commit() 方法，调用 m_user 模块下的 saveAddressToStorage 方法将 address 对象持久化存储到本地
      this.commit('m_user/saveAddressToStorage')
    },
    
    //持久化存储收货地址,每次修改完成后就调用此方法
    saveAddressToStorage (state) {
      uni.setStorageSync('address',JSON.stringify(state.address))
    }
  },
  
  //模块的 getters 属性
  getters:{
    //地址展示封装成vuex的getters，方便多个组件使用
    addr(state) {
      return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
    }
  }
}
